A “watermark” consists of minor changes to the content made for various purposes. For example, a watermark can be in the form of an overlay identifying the owner of content and or to render the content less valuable. For example, a “proof” image having an overlay watermark can be distributed without charge to allow a potential customer to view the image before purchase. This is known as a visible watermark. Upon paying for the image, the customer will be given an image print or data file that does not include the watermark.
Watermarking can also be used to distinguish one copy of content from another. For example, unique watermarks can be applied to each copy distributed to multiple parties. The party identity can be stored in a database in association with an indication of the unique watermark of the copy distributed to that party. If copies are then redistributed in an unauthorized manner, the identity of the likely unauthorized redistributor can be ascertained based on the watermark in the unauthorized copy. This is sometimes referred to as “forensic watermarking.” Such Watermarks can be digitally “embedded” in the content data in a manner that does not significantly or perceptibly change the rendered image and thus is not readily ascertainable to the redistributors. This is known as an “invisible watermark.”
The original distributor can readily discern the unique watermark in each copy through an extraction algorithm, which defines the difference between the watermarked content and the original content. The extracted watermark is then correlated with all different watermarks to identify which watermark was in the content that has been distributed in an unauthorized manner. The watermark can then be correlated to the receiver to which that content was transmitted and the potential pirate can be identified. An example of such watermarking is described in U.S. Pat. Nos. 9,288,057 and 7,058,809, the disclosures of which are incorporated herein by reference.
Video streaming such as Over-the-Top (OTT) video has seen a tremendous rise in popularity due to the rapid growth in multiscreen video consumption. Also, the number and types of viewing devices has increased tremendously. Each video stream needs to be “packaged” for a particular type of viewing device environment and Content Delivery Network (CDN). Packaging of a video stream includes adding metadata which provides the required control data (or ‘manifest data’) to the media player and packaging the content using the appropriate protocol, DRM mechanism and the like. If there are 1,000 device types, a provider may need to create (“package” for a particular screen) and pre-store 1,000 variants for each title. This number can be multiplied by other factors such as content delivery network (CDN) and geographic distribution factors as well as regulatory requirements. To reduce overhead, the concept of Just-in-Time Packaging (JITP) has been introduced. In JITP, the content assets are stored in, for example, an HTTP-ready format, so that clients can make HTTP requests for video segments directly. When a client device connects to the JIT packager, the JIT Packager extracts the requested fragments and packages them accordingly for the client environment.
It has become common to use forensic watermarking in packaged video streams. The above-noted rise in popularity of streamed content and OTT implementations of content distribution have raised concerns of piracy of streamed content, such as live sporting events. Inserting unique watermarks into multiple streams of content, of course, raises significant technical issues that are not present in watermarking of still images for distribution. The technique of “frame-based watermarking” has become very popular. In this technique, different copies of each frame, or segment, in streamed content are created. So every frame in a video stream exists in multiple versions embedded with different watermarks. The frames can be encrypted with different keys. The video stream that is distributed will then contain multiple versions of each frame. Each receiver will be able to decrypt only one of these frames and the decrypted video stream will then contain a unique watermark. Alternatively, only one of the multiple versions is distributed to each receiver.
Frame-based watermarking has limitations when there are large numbers of receivers, such as in the live streaming of a popular sporting event. The time length required for a unique watermark for each receiver depends on the number of receivers. Increasing the number of copies of each frame can reduce the time required for a unique watermark. However, this increases the required storage resources and, in some cases transmission bandwidth.
For example, in a live sporting event streamed over the internet, the number of receivers can be in the millions. The number of copies of each frame required to create unique watermarks in pragmatically small portions of the data stream can drive storage and bandwidth requirements to be very expensive. One solution to this problem is to allow the watermarking to be accomplished at each receiver (known as “client-side watermarking”). However, this requires a secure receiver with watermarking capability. In the case of streaming to various devices over the internet, such as mobile phones and other computing devices, adequate security and/or watermarking functionality is often not available. Therefore, server-side watermarking solutions are preferred.
FIG. 1 illustrates a typical arrangement for server-side watermarking, also known as “head end” watermarking. In such a system, the watermark is embedded during the content preparation process, by the operator for example. Multiple watermarked variants are created. To uniquely mark a stream, the segments of the variants are “switched”, according to a predetermined function, between the multiple variant streams marked with complimentary watermarks. The function can be, for example, a sequence or an algorithm that determines a sequence. In the example of FIG. 1, there are two distinct variants of the content 110 and 120, i.e. content segments marked with two distinct watermarks A and B.
The operator can create a unique content stream 130 by arranging content segments having A and B watermarks in a unique manner by switching the content segments between A and B type segments to create a packaged output stream 130. It can be seen that, with the limited number of streams variants, two in this example, the amount of information that can be embedded in a period of run time of the content is relatively low. Stated differently, if there are many streams 130 to be created, a large number of content segments are required to produce a unique watermark sequence for each stream. This problem can be solved by increasing the number of stream variants. However, as noted above, a large number of variants requires commensurately large storage resources. When a stream is to be broadcast to many thousands of receivers, all of which have to be uniquely identified, increasing the number of variants, and the required storage resources, can be cost prohibitive. The watermarking technique illustrated in FIG. 1 is readily adaptable to JITP. However, some of the advantages of JITP, e.g. reduced storage resources, are not realized when conventional watermarking is used because of the need to store multiple versions of the content asset for watermarking purposes.